export default {
  namespaced: true,
  state: {
    list: ['毛巾', '洗发水', '除虫剂']
  },
  // 用来改变数据，所有的数据改变都在这里进行
  // 目的是每一次的数据改变都可以被追踪到，都会被开发者工具记录下来
  mutations: {
    // state 表示当前模块的数据
    // payload 表示参数
    add (state, payload) {
      console.log(state)
      console.log(payload)
      state.list.push(payload)
      console.log(state)
    }
  },
  actions: {
    // 所有的异步操作都放在这个里面
    // 所有的异步处理放在这里
    // 在actions中可以改变state数据，但是不建议这样做，vuex中所有的数据改变都需要能被追踪到
    addAsync (context, payload) {
      console.log(context, payload)
      // commit 表示出发一个mutations 方法
      context.commit('add', payload)
    }
  }
}
